iT邦幫忙

0

【學習筆記】使用 CUPS 在 Ubuntu 上進行網路印表機設定和列印

  • 分享至 

  • xImage
  •  

大家好,第一次發文,
這篇文章大部分都是自己的學習筆記,
如有錯誤,歡迎大神們給予叮嚀指教。

- 前言

一直覺得每次只要不在家,就突然會有要影印文件的需求...((咦?/images/emoticon/emoticon37.gif
所以就想到我最近自己用docker搞了一個Ubuntu Server在上面架了LINE Bot,
就想是不是可以實現我把檔案傳給機器人,再讓機器人幫我直接列印這個檔案哩?
所以就有了今天的學習筆記!
p.s.
今天進度只有做到完成建立連線,還沒完成跟機器人做整合...
這幾天找時間再來搞唄/images/emoticon/emoticon01.gif

- 正文

CUPS

是一個通用的列印系統,可以讓我們在 Unix 系統上進行列印操作。我確保已經安裝了 CUPS 套件,這樣我就可以開始進行印表機的設定了。

Step1. 安裝 CUPS:

sudo apt-get update
sudo apt-get install cups

Step2. 啟動 CUPS 伺服器:
安裝完成後,確認 CUPS 伺服器運行狀態

sudo service cups start
sudo service cups status

p.s. 這邊service cups start如果無法正常使用可以改用cups的安裝路徑來啟動服務/etc/init.d/cups start

Step3. 註冊網路印表機:
如果想要使用特定的網路印表機,需要將它註冊到 CUPS 伺服器中

lpadmin -p MyPrinter -v ipp://192.168.1.100 -E
# MyPrinter 自定義要註冊的印表機名稱
# -v 使用 ipp 連接 (ipp輸入自己印表機的網路位址)

Step4. 建立 CUPS 連線並列出可用的印表機:
使用 Python 的 cups 套件

# Python的開發套件
apt install python3-dev
# 安裝 pycups 套件:
python3 -m pip install pycups

Step5. 測試列印文件:
列印一個檔案到我剛剛註冊的 MyPrinter

import cups
# 建立連線
conn = cups.Connection()
# 剛剛用cups自定義的印表機名稱 (MyPrinter)
printer_name = 'MyPrinter'
file_path = '/Printer/file.txt'
job_id = conn.printFile(printer_name, file_path, "Job Title", {})
print("Print job ID:", job_id)

額外補充CUPS可以支援列印的文件格式(From ChatGPT)

Me: 
CUPS可以列印那些檔案類型?

GPT:
CUPS 可以列印許多不同類型的檔案,主要取決於你的印表機和 CUPS 伺服器上安裝的列印驅動程式。一般來說,CUPS 支援的常見檔案類型包括:
文本檔案(例如:.txt、.doc、.docx、.pdf、.rtf 等)
圖片檔案(例如:.jpg、.png、.bmp、.gif 等)
PostScript 檔案(.ps)
PDF 檔案(.pdf)
OpenDocument 格式檔案(.odt、.ods、.odp 等)
HTML 檔案(.html、.htm)
#----------------------------------------------------------------
Me: 
cups 可以列印 ppt嗎?

GPT:
CUPS 本身並不支援直接列印 Microsoft PowerPoint (PPT) 檔案。CUPS 主要是一個通用的列印系統,它處理的是通用的列印檔案格式,例如純文字檔案、PDF、PostScript 等。它並不內建對 Microsoft Office 檔案格式的原生支援。
若要列印 PowerPoint 檔案,通常可以考慮以下幾種方法:
將 PPT 檔案另存為 PDF 格式,然後使用 CUPS 列印 PDF 檔案。
使用 Microsoft PowerPoint 軟體自身的列印功能,選擇你想要的印表機進行列印。
使用特定的列印軟體或軟體插件來處理 PPT 檔案的列印,這類軟體可能提供對 Office 檔案格式的支援。

- 總結

期待我可以趕快有時間把這東西弄起來這樣就可以直接把檔案丟給機器人完成列印跟把檔案存起來了/images/emoticon/emoticon01.gif
雖然缺點不能直接列印PPT,但是可以轉檔成PDF再列印也不用擔心跑版~
後續有新進度再發上來跟大家討論改進,謝謝大家。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言